#include "Button.h"
Button::Button (D3DXVECTOR3 pos,int w,int h){
	//creo un color vertex ya que el heredado no puede ser modificado directamente
	ColorVertex* m_pCV;
	//al colorvertex que heredo de shape lo inicializo en un array de 3
	m_pkVertices = new ColorVertex[4];
	//y indico que la cantidad de vertices que voy a tener
	m_iCantVertices = 4;
	//--------------------------------------------------------------------
	//mi puntero va a tener la direccion del primer vertice asi podemos modificar su valor
	m_pCV = &(m_pkVertices[0]);
	//le damos la posicion inicial
	m_pCV->x = -1+pos.x;	m_pCV->y = -1+pos.y;	m_pCV->z = 1.0f;
	//le damos el color
	m_pCV->color = D3DCOLOR_XRGB(255,255,0);
	//pasamos al siguiente miembro del array
	//--------------------------------------------------------------------
	m_pCV++;
	//segunda posicion inicial y mosmo proceso
	m_pCV->x = -1+pos.x;	m_pCV->y = 1+pos.y;	m_pCV->z = 1.0f;
	m_pCV->color = D3DCOLOR_XRGB(255,255,0);
	//--------------------------------------------------------------------
	m_pCV++;
	m_pCV->x = 1+pos.x;	m_pCV->y = -1+pos.y;	m_pCV->z = 1.0f;
	m_pCV->color = D3DCOLOR_XRGB(255,255,0);
		//vamos al ultimo miembro
	//--------------------------------------------------------------------
	m_pCV++;
	m_pCV->x = 1+pos.x;	m_pCV->y = 1+pos.y;	m_pCV->z = 1.0f;
	m_pCV->color = D3DCOLOR_XRGB(255,255,0);	
	m_vPos = pos;
	this->SetScale(w,h);
}
bool Button::CheckClick(DIMOUSESTATE* pointer)
{
	if(pointer->rgbButtons[0])
	if(abs(this->GetPosX()-pointer->lX)<(this->GetScaleW()/2)&&
		abs(this->GetPosY()-pointer->lY)<(this->GetScaleH()/2))		
		return true;
	return false;
}
void Button::Draw (Renderer * rkRenderer)
{
	Shape::Draw(rkRenderer);
	rkRenderer->Draw(m_pkVertices, STRUCTS::TRIANGLE_STRIP, m_iCantVertices);
}
void Button::OnClick(){

}
